var msgHash={};
var selectedSeats =  new Array();
var lockedSeatsString ="";
var lockTime ="";
function showInformation(id){

    document.getElementById("paramId").value = id;
    document.getElementById("submit").click();
    showhide('bot');
    state = (state =="visible")? "hidden":"visible";
    showhide('information_div');
    return false;
}

function buyTicketByPresentation(presentationId){
    jQuery('#presentationId').val( presentationId );
    jQuery('#prevNav').val(jQuery('#navParams').val());
    document.getElementById("submitPresentation").click();
    addLoadingModal();
    //tb_init();
    return false;
}
function addLoadingModal(){
    jQuery('body').append('<div id="TB_overlay" class="TB_overlayBG"/><img id="imgLoadingModal" src="assets/'+asset+'/imgs/loading.gif" alt="" class="loading">').fadeIn('slow');
    jQuery('#TB_load').remove();
}
function removeLoadingModal(){
    jQuery('#imgLoadingModal').fadeOut();
    jQuery('#imgLoadingModal').remove();
    jQuery('#TB_overlay').fadeOut();
    jQuery('#TB_overlay').remove();
}

function submitNewDate(){
    document.getElementById("submitByDate").click();
    return false;
}


function showhide(layer_ref) {

    if (state == 'visible') {
        state = 'hidden';
        jQuery('#information_div').fadeOut("slow");
        document.getElementById('disablingDiv').
                style.display='none';
        // $('#bot').fadeOut("fast");
    }
    else {
        state = 'visible';
        // $('#bot').fadeIn("fast");
        document.getElementById('disablingDiv').
                style.display='block';
        jQuery('#information_div').fadeIn("slow");
        //        }
        //        if (document.all) { //IS IE 4 or 5 (or 6 beta)
        //            eval( "document.all." + layer_ref + ".style.visibility = state");
        //        }
        //        if (document.layers) { //IS NETSCAPE 4 or below
        //            document.layers[layer_ref].visibility = state;
        //        }
        //        if (document.getElementById && !document.all) {
        //            maxwell_smart = document.getElementById(layer_ref);
        //            maxwell_smart.style.visibility = state;
        //        }
    }
}

function browserBack(){
    window.history.back();
}

function submit(params){
    jQuery('#params').attr('value',params);
    jQuery('#prevNav').attr('value',jQuery('#navParams').attr('value'));
    jQuery('#submit').click();
    return false;
}


function listDataChange(objectPrefix){
    tmp = jQuery("#"+objectPrefix+"Ids").attr('value').split(";");
    var totalObjects =0;
    var totalPrice = 0;
    for(i=0;i<tmp.length;i++){
        num = parseFloat(jQuery("#select"+objectPrefix+"_"+tmp[i]+" :selected").text());
        sign = parseInt(jQuery.trim(jQuery("#price_"+tmp[i]).html())[0]);
        if( isNaN(sign) ){
            sign = jQuery.trim(jQuery("#price_"+tmp[i]).html()).substring(0,1);
        }else{
            trimed = jQuery.trim(jQuery("#price_"+tmp[i]).html());
            sign = trimed.substring(trimed.length,trimed.length+1);
        }
        objectPrice  = jQuery("#price_"+tmp[i]).html();//.textContent;
        objectPrice = objectPrice.split(sign)[1];
        var objectPriceFloat = parseFloat(objectPrice.replace(',',''));
        jQuery("#total_"+tmp[i]).html(sign+objectPriceFloat*num);
        totalPrice+= objectPriceFloat*num;
        totalObjects+=num;
    }
    jQuery("#totalCost").html(sign+totalPrice);
    jQuery("#totalSelected").html(totalObjects);
    prepareSubmitSelection(totalPrice,totalObjects,objectPrefix);
}

function prepareSubmitSelection(totalPrice,totalObjects,objectPrefix){
    //    document.getElementById('maxOutletTickets').value = document.getElementById('maxOutletTicket').textContent;
    jQuery('#selected'+objectPrefix+'s').attr('value',totalObjects);
    //    document.getElementById('selected'+objectPrefix).value = totalObjects;
    jQuery('#totalPrice').attr('value',totalPrice);
    //    document.getElementById('totalPrice').value = totalPrice;
    tmp = document.getElementById(objectPrefix+"Ids").value.split(";");
    var objectParams = "";
    for(i=0;i<tmp.length;i++){
        num = parseFloat(document.getElementById("select"+objectPrefix+"_"+tmp[i].toString())[document.getElementById("select"+objectPrefix+"_"+tmp[i].toString()).selectedIndex].value);
        objectParams+=tmp[i]+"#"+num+";";
    }
    //    document.getElementById('venueSectionId').value = document.getElementById('venSecId').value
    document.getElementById("params").value = objectParams;

}

function submitVenueSections(){
    var prevNav = jQuery('#prevNav').attr('value');
    if (document.radioForm.group1.length == null){
        if( document.radioForm.group1.checked == true ){
            var id = document.radioForm.group1.id;
            id = id.substring(1,id.length-1);
            loadTickets(id);
            return false;
        }
    }
    for( i = 0; i < document.radioForm.group1.length ; i++ )
    {
        if( document.radioForm.group1[i].checked == true ){
            id = document.radioForm.group1[i].id;
            id = id.substring(1,id.length-1);
            loadTickets(id);
            return false;
        }
    }
    alertDiv(27);
    return false;
}
function back(actionName , params){
    document.getElementById('submitForm').action = actionName;
    submit(params);
}

function equalize() {
    if(jQuery('#currentFeature').height< jQuery('.leftData').height){
        jQuery('#currentFeature').height(jQuery('.leftData').height());
    }
}

function seatClicked_old(seatId){
    var maxTickets = parseInt(jQuery("#maxOutletTickets").attr('value'));
    var userSelectedTickets = parseInt(jQuery('#maxUserTickets').attr('value'));
    var index = jQuery.inArray(seatId, selectedSeats);
    if(index != -1){
        selectedSeats.splice(index,1);
        imgSrc = document.getElementById('seat_' + seatId).src.split("Seat");
        document.getElementById('seat_' + seatId).src = imgSrc[0]+"SeatAvai.png";
    }
    else
    {
        if( (selectedSeats.length +1) <= maxTickets && (selectedSeats.length +1) <= userSelectedTickets) {
            selectedSeats.push(seatId);
            imgSrc = document.getElementById('seat_' + seatId).src.split("Seat");
            document.getElementById('seat_' + seatId).src = imgSrc[0]+"SeatSel.png"
        }
        else {//Reached the max outletTickets allowd
            alertDiv(32);
            return false;
        }
    }
    updateSubmitSeatSelection();
    return false;
}

function seatClicked(seatId){
    var maxTickets = parseInt(jQuery("#maxOutletTickets").attr('value'));
    var userSelectedTickets = parseInt(jQuery('#maxUserTickets').attr('value'));
    var index = jQuery.inArray(seatId, selectedSeats);
    if(index != -1){//Clicked one of the selected seats
        selectedSeats.splice(index,1);
        var selElm = jQuery(document.getElementById('seat_' + seatId));
        if(selElm.is('span')){
            imgSrc = selElm.parent().find('img').attr('src').split("Seat");
            selElm.parent().find('img').attr('src',imgSrc[0]+"SeatAvai.png").removeClass('selected').addClass('available');
            selElm.removeClass('selected').addClass('available').rotate(parseFloat(selElm.parent().attr('angle')));
        }else{
            imgSrc = document.getElementById('seat_' + seatId).src.split("Seat");
            document.getElementById('seat_' + seatId).src = imgSrc[0]+"SeatAvai.png";
            jQuery( document.getElementById('seat_' + seatId)).removeClass('selected').addClass('available');
        }

    }else if(selectedSeats.length<userSelectedTickets && selectedSeats.length>0) {
        selectedSeats.push(seatId);
        var selElm = jQuery(document.getElementById('seat_' + seatId));
        if(selElm.is('span')){
            imgSrc = selElm.parent().find('img').attr('src').split('Seat')[0]+"SeatSel.png";
            selElm.parent().find('img').attr('src',imgSrc).removeClass('available').addClass('selected');
            selElm.removeClass('available').addClass('selected').rotate(parseFloat(selElm.parent().attr('angle')));
        }else{
            imgSrc = jQuery(selElm).attr('src').split('Seat')[0]+"SeatSel.png";
            jQuery(selElm).removeClass('available').addClass('selected').attr('src',imgSrc);
        }
    }else{
        if(jQuery(document.getElementById('seat_' + seatId)).is('.available')){

            var approve = true;
            var isLoop = true;
            var selectedX = parseInt(seatId.split(',')[0]);
            var selectedY = parseInt(seatId.split(',')[1]);
            var newSeats = new Array();
            for(var currX=selectedX-userSelectedTickets+1; isLoop;currX++){
                if(currX<1){
                    continue;
                }else if(currX>selectedX){
                    newSeats = new Array();
                    approve=false;
                    break;
                }
                for(var count=0;count<(userSelectedTickets) && approve;count++){
                    if (count==0)
                    {
                        if(checkSingleSeatRule && document.getElementById('seat_'+(currX-1)+","+selectedY )!=null &&
                           jQuery(document.getElementById('seat_'+(currX-1)+","+selectedY )).is('.available,.selected') &&
                           !jQuery(document.getElementById('seat_'+(currX-2)+","+selectedY )).is('.available,.selected')){
                            newSeats = new Array();
                            approve=false;
                            break;
                        }
                    }

                    if (count==userSelectedTickets-1) {
                        if(checkSingleSeatRule && document.getElementById('seat_'+(currX+userSelectedTickets)+","+selectedY )!=null &&
                           jQuery(document.getElementById('seat_'+(currX+userSelectedTickets)+","+selectedY )).is('.available,.selected') &&
                           !jQuery(document.getElementById('seat_'+(currX+userSelectedTickets+1)+","+selectedY )).is('.available,.selected')){
                            newSeats = new Array();
                            approve=false;
                            break;
                        }
                    }

                    if(jQuery(document.getElementById('seat_'+(currX+count)+","+selectedY )).is('.available,.selected')){
                        newSeats.push((currX+count)+","+selectedY);
                    }else{
                        newSeats = new Array();
                        approve=false;
                        break;
                    }
                }
                isLoop = !approve;
                approve=true;
            }
            if(newSeats.length==0){
                newSeats.push(seatId);
                approve=true;
            }
            if(approve){
                jQuery('img.selected').each(function(i,currSelected){
                    var newSrc = jQuery(currSelected).attr('src').split('Seat')[0]+"SeatAvai.png";
                    jQuery(currSelected).removeClass('selected').addClass('available').attr('src',newSrc);
                    if(jQuery(currSelected).parents('.angle').length>0){
                        jQuery(currSelected).parent().find('span').removeClass('selected').addClass('available').rotate(parseFloat(jQuery(currSelected).parents('.angle').attr('angle')))
                    }
                });
                selectedSeats = newSeats;
                for(var seat in newSeats){

                    var currElm = jQuery(document.getElementById('seat_' + newSeats[seat]));
                    if(currElm.is('img')){
                        var newSrc = jQuery(document.getElementById('seat_' + newSeats[seat])).attr('src').split('Seat')[0]+"SeatSel.png";
                        currElm.removeClass('available').addClass('selected').attr('src',newSrc);
                    }else{
                        var newSrc = currElm.parent().find('img').attr('src').split('Seat')[0]+"SeatSel.png";
                        currElm.removeClass('available').addClass('selected');
                        currElm.parent().find('img').addClass('selected').attr('src',newSrc);
                        currElm.rotate(parseFloat(currElm.parent().attr('angle')));
                    }
                    //                    if(jQuery(document.getElementById('seat_' + newSeats[seat])).parents('.angle').length>0){
                    //                        jQuery(document.getElementById('seat_' + newSeats[seat])).rotate(parseFloat(jQuery(document.getElementById('seat_' + newSeats[seat])).parents('.angle').attr('angle')));
                    //                    }
                }
            }else{
                alertDiv(32);
                return false;
            }
        }
    }
    updateSubmitSeatSelection();
    return false;
}

function alertDiv(msgId,width,height){
    if(!width){
        width = 300;
    }
    if(!height){
        height = 50;
    }
    jQuery('#alertId').attr('href','alertDiv?msgId='+msgId+'&languageId='+jQuery('#languageId').attr('value')+'&height='+height+'&width='+width);
    jQuery('#alertId').click();
}
function alertDivMsg(msgId,width,height){
    if(!width){
        width = 300;
    }
    if(!height){
        height = 50;
    }
    jQuery('#alertId').attr('href','alertDivMsg?msg='+msgId+'&languageId='+jQuery('#languageId').attr('value')+'&height='+height+'&width='+width);
    jQuery('#alertId').click();
}
//function alertDiv(msgId){
//    alertDiv(msgId,200,50);
//}

//function checkForSpacedSeats(){
//    for(i=0 ; i< selectedSeats.length;i++){
//        rightSeat = generateSeatId(selectedSeats[i],1);
//        twoRightSeat = generateSeatId(selectedSeats[i],2);
//        if (performSeatCheck(rightSeat,twoRightSeat) == false){
//            return false;
//        }
//        leftSeat = generateSeatId(selectedSeats[i],-1);
//        twoLeftSeat = generateSeatId(selectedSeats[i],-2);
//        if(performSeatCheck(leftSeat,twoLeftSeat) == false){
//            return false;
//        }
//    }
//    return true;
//}
//
//function performSeatCheck(neighbor,neighborTwo){
//    if(jQuery.inArray(neighbor, selectedSeats) == -1 && jQuery.inArray(neighborTwo, selectedSeats)  !=-1 ){
//        alertDiv(39);
//        img = document.getElementById("seat_"+neighbor);
//        if(img!=null){
//            img.className = "single";
//            jQuery('.single').pulse({speed: 500,opacityRange: [0.4,0.9]});
//        }
//        return false;
//    }else{
//        img = document.getElementById("seat_"+neighbor);
//        if(img!=null){
//            jQuery('.single').recover();
//            img.className = "seat";
//        }
//        return true;
//    }
//}
//
//function generateSeatId(seatId,offset){
//    tmp = seatId.split(",");
//    column = parseInt(tmp[0]);
//    column += offset;
//    return column+","+tmp[1];
//}
function updateSubmitSeatSelection(){
    valid = true;
    //    if(checkSingleSeatRule){
    //        valid = checkForSpacedSeats();
    //    }
    selectedSeatsString = "";
    if (valid == false){
        return;
    }else{
        for(i=0;i<selectedSeats.length;i++){
            selectedSeatsString+=selectedSeats[i]+"|";
        }
        if(jQuery('#params').length==0){
            jQuery('#ticketData').append("<input type=\"hidden\" id=\"params\" value\"\"/>");
        }
        jQuery('#params').attr('value', selectedSeatsString+"#"+lockedSeatsString+"#");
    }
}

function updateNavHref(key,value){
    jQuery('#nav_'+key+' a').remove();
    jQuery('#nav_'+key).text("");
    jQuery('#nav_'+key).append("<a href='"+value+"'>"+key+"");
}
function updateNavOnclick(key,value){
    jQuery('#nav_'+key+' a').remove();
    jQuery('#nav_'+key).text("");
    appendString  = '<a href="#" onClick="'+value+';return false;">'+key+'';
    jQuery('#nav_'+key).append(appendString);
}
function removeNavHref(key,value){
    jQuery('#nav_'+key+' a').remove();
    jQuery('#nav_'+key).text(value);
}

function updateNavigation(){
    liCollection = jQuery('#breadCrumbNav li');
    navParams="";
    for(i=0;i<liCollection.length;i++){
        attrName = liCollection[i].id;
        attrValue = jQuery('#'+attrName).html();
        attrValue = jQuery.trim(attrValue);
        if(navParams.length == 0){
            navParams = attrName+"="+attrValue;
        }else{
            navParams += "&&"+attrName+"="+attrValue;
        }
    }
    jQuery('#navigation').load('updateNavigation',{navParams:navParams,languageId:jQuery('#languageId').attr('value')})
    return false;
}
function loadTickets(params){
    var ticketsParams ="";
    if(jQuery('#ticketsParams:first').length>0){
        ticketsParams =jQuery('#ticketsParams:first').attr('value');
    }
    jQuery('#ticketData').load('selectTickets',{prevNav:jQuery('#prevNav').attr('value'), params:params,
        presentationId:jQuery('#presentationId').attr('value'),
        languageId:jQuery('#languageId').attr('value'),
        sectionParams:jQuery('#sectionParams').attr('value'),
        cartParams:jQuery('#cartParams').attr('value'),
        ticketsParams:ticketsParams});
    return false;
}
function submitTicketSelection(){
    if(parseInt( $('#totalSelected').html())>0){
        jQuery('#ticketData').load('validateTicketSelection.action',{prevNav:jQuery('#prevNav').attr('value'),
            params:jQuery('#params').attr('value'),
            presentationId:jQuery('#presentationId').attr('value'),
            selectedtickets:jQuery('#selectedtickets').attr('value'),
            venueSectionId:jQuery('#venueSectionId').attr('value'),
            sectionParams:jQuery('#sectionParams').attr('value'),
            ticketsParams:jQuery('#ticketsParams').attr('value'),
            seatsParams:jQuery('#seatsParams').attr('value'),
            cartParams:jQuery('#cartParams').attr('value'),
            totalPrice:parseFloat(jQuery('#totalPrice').attr('value')),
            navParams:jQuery('#navParams').attr('value'),
            languageId:jQuery('#languageId').attr('value')
        },function(){
            if(jQuery('#ticketData').find('#seatSelection').length>0){
                jQuery('#currentFeature').hide();
                jQuery('#ticketData').addClass('leftDataFull').removeClass('leftData');
            }
        });
    }else{
        alertDiv(38);
    }
    return false;
}

function submitSellableSelection(){
    if(parseInt( $('#totalSelected').html())>0){
        jQuery('#cartParamsForm').append(jQuery('#params').clone());
        jQuery('#cartParamsForm').append(jQuery('#totalPrice').clone());
        jQuery('#cartParamsForm').append(jQuery('#saleItemType').clone());
        submitForm('cartParamsForm','addSaleItemToCart','submitBtnForm');
    }else{
        alertDiv(38);
    }
    return false;
}

function submitSeatSelection(isPrompt,isQuickRes,isSkipConfirm){
    if(isPrompt){
        $.alerts.appendTo = "body";
        var msg= "";
        if(isQuickRes){
            msg = msgHash["quickResConfirm"];
        }else{
            msg = msgHash["generalSeatSelConfrim"];
        }
        jQuery('html').scrollTop(jQuery('.title').position().top);
        jConfirm(msg, msgHash["title"], function(r) {
            if(r){
                submitSeatSelectionToServer(isSkipConfirm);
            }else{
                return false;
            }
        });
    }else{
        submitSeatSelectionToServer(isSkipConfirm);
    }
}

function submitSeatSelectionToServer(isSkipConfirm){
    var userSelectedTickets = parseInt(jQuery('#maxUserTickets').attr('value'));
    if(selectedSeats.length < userSelectedTickets){//Ticket selection bellow userSelectedTickets 
        alertDiv(192);
        return false;
    }
    if (selectedSeats.length>0) {
        var options = {prevNav:jQuery('#prevNav').attr('value'),
            params:jQuery('#params').attr('value'),
            sectionParams:jQuery('#sectionParams').attr('value'),
            ticketsParams:jQuery('#ticketsParams').attr('value'),
            seatsParams:jQuery('#seatsParams').attr('value'),
            cartParams:jQuery('#cartParams').attr('value'),
            lockTimeString:lockTime,
            navParams:jQuery('#navParams').attr('value'),
            userId:jQuery('#userId').attr('value'),
            languageId:jQuery('#languageId').attr('value')};
        if (checkSingleSeatRule) {
            if(jQuery('.seatSubmit').filter('.disable').length>0){
                return false;
            }else{
                jQuery('.seatSubmit').addClass('disable');
            }
            jQuery.post("validateSingleSeat",options, function(data){
                if(jQuery('#indicator').length>0){
                    jQuery('#indicator').fadeOut();
                }
                valid = data.indexOf("Pass")!=-1;
                if (valid) {
                    jQuery('#indicator').fadeIn();
                    jQuery.post('lockSeats.action', options,function(data){
                        jQuery('#indicator').fadeOut();
                        if(data.indexOf("success")!=-1){//lock successes
                            jQuery('#ticketData,#packageData').find('.postResult').remove();
                            jQuery('#ticketData,#packageData').append('<div class="postResult" style="display:none;">'+data+'</div>');
                        }else{
                            jQuery('#ticketData,#packageData').html(data);
                        }
                        jQuery('.seatSubmit').removeClass('disable');
                    });
                } else {
                    jQuery('.seatSubmit').removeClass('disable');
                    alertDiv(39);
                }
            });
        }else{//Submit Seat selection
            //            if(!isSkipConfirm){
            //                jQuery('#ticketData').find('#quickResInvoker').remove();
            //                jQuery('#ticketData').append("<a id='quickResInvoker' class='ajaxWindow' href='lockSeats.action?width=600&height=500&languageId="+jQuery('#languageId').attr('value')+
            //                                             "&userId="+jQuery('#userId').attr('value')+
            //                                             "&params="+jQuery('#params').attr('value')+
            //                                             "&navParams="+jQuery('#navParams').attr('value')+
            //                                             "&lockTimeString="+lockTime+
            //                                             "&cartParams="+jQuery('#cartParams').attr('value')+
            //                                             "&seatsParams="+jQuery('#seatsParams').attr('value')+
            //                                             "&ticketsParams="+jQuery('#ticketsParams').attr('value')+
            //                                             "&sectionParams="+jQuery('#sectionParams').attr('value')+ "style='display: none;'></a>");
            //                tb_init('#quickResInvoker');
            //                jQuery('#quickResInvoker').trigger('click');
            //
            //            }else{
            //                jQuery('#ticketData').load('lockSeats.action', options);
            if(jQuery('.seatSubmit').filter('.disable').length>0){
                return false;
            }else{
                jQuery('.seatSubmit').addClass('disable');
            }
            jQuery('#indicator').fadeIn();
            jQuery.post('lockSeats.action', options,function(data){
                jQuery('#indicator').fadeOut();
                if(data.indexOf("success")!=-1){//lock successes
                    jQuery('#ticketData,#packageData').find('.postResult').remove();
                    jQuery('#ticketData,#packageData').append('<div class="postResult" style="display:none;">'+data+'</div>');
                }else{
                    jQuery('#ticketData,#packageData').html(data);
                }
                jQuery('.seatSubmit').removeClass('disable');
            });

            //            }
        }
    } else {//No seats selected
        alertDiv(145);
    }
    return false;
}
function updateTime(){
    var timerSpan = document.getElementById('timer');
    if(timerSpan !=null){
        timerSpan.innerHTML = parseSecondsToMin(sec-1);
    }else{
        //        jQuery.timer.stop();
    }
    sec--;
}
function parseSecondsToMin(time) {
    // Calculate the number of days left
    var days=Math.floor(time / 86400);
    // After deducting the days calculate the number of hours left
    var hours = Math.floor((time - (days * 86400 ))/3600)
    // After days and hours , how many minutes are left
    var minutes = Math.floor((time - (days * 86400 ) - (hours *3600 ))/60);
    // Finally how many seconds left after removing days, hours and minutes.
    var secs = Math.floor((time - (days * 86400 ) - (hours *3600 ) - (minutes*60)))

    var str  = minutes + " Minutes and " + secs + " Secondes";
    return str;
}
function seatLockExpired() {
    alertDiv(168);
    setTimeout("jQuery('a.prevNav').click()",10000);
}

function editCartItem(cartItemId){
    jQuery('#cartParamsForm').append('<input type="text" style="display:none;" id="params" name="params" value="'+cartItemId+'"');
    submitForm("cartParamsForm","editCartItem","submitBtnForm");
    return false;
}
function removeCartItem(cartItemId){
    jQuery('#cartParamsForm').append('<input type="text" style="display:none;" id="params" name="params" value="'+cartItemId+'"/>');
    submitForm("cartParamsForm","removeCartItem","submitBtnForm");
    return false;
}

function lookup(inputString,force,callerId) {
    if(!force){
        force = false;
    }
    if(inputString.length <= 3 && !force) {
        // Hide the suggestion box.
        jQuery('#suggestions_'+fillTarget).fadeOut();
    } else {
        if(callerId){
            var newSrc = 'assets/'+asset+'/imgs/quickSearchLoader.gif';
            jQuery('#'+callerId).parent('div:first').find('a img').attr('src',newSrc);
        }
        jQuery.post("quickSearch", {queryString: ""+inputString+"",maxResults:""+0+""}, function(data){
            if(data.indexOf("onclick")!=-1) {
                jQuery('#suggestions_'+fillTarget).fadeIn();
                jQuery('#autoSuggestionsList_'+fillTarget).html(data);
                if(callerId){
                    jQuery('#'+callerId).parent('div:first').find('a img').attr('src','assets/'+asset+'/imgs/search_small.png');
                }
            }else{
                jQuery('#suggestions_'+fillTarget).fadeOut();
            }
        });
    }
    return false;
} // lookup
var fillTarget;
var timeoutId =0;
function fill(thisValue) {
    jQuery('#'+fillTarget).val(thisValue);
    $('#suggestions_'+fillTarget).fadeOut();
    $('#suggestions_'+fillTarget).unbind('mouseout').unbind('mouseover');
    timeoutId=0;
}

function initAutoHide(elemId){
    jQuery('#'+elemId).hover(function(){
        clearTimeout(timeoutId);
    },
            function(){
                timeoutId = setTimeout("jQuery('#"+elemId+"').fadeOut();jQuery('#"+elemId+"').prev().find('input').val(jQuery('#"+elemId+"').prev().find('input').attr('rel'));",500);
            });
}


function submitForm(formId,action,submitBtnId,method){
    if(!method){
        method="POST";
    }
    jQuery('#'+formId).append('<input type="text" id="timestamp" value="'+new Date()+'" style="display:none;"/>');
    jQuery("#"+formId).attr('action',action).attr('method',method);
    //    var rand_no = Math.ceil(100*Math.random())

    //    jQuery('body').append("<form id='"+rand_no+"' action='"+action+"' method='post'></form");
    //    jQuery('#'+rand_no).html(jQuery('#'+formId).html());
    jQuery('#'+formId).submit();
    //    jQuery("#"+submitBtnId).click();
    addLoadingModal();
}
function addMagneticCardForm(maxForms,usePayments){
    var row;
    if(formNumber <= maxForms){
        var usepayments = (usePayments) ? 1 : 0;
        jQuery('#formNumber').attr('value',formNumber);
        jQuery.post("getMagneticCardForm", {formId: jQuery("#magneticCardList option:selected").val(),formNumber:getNextFormNumber(),
            languageId:jQuery('#languageId').attr('value'),usePayments:usepayments}, function(data){
            if(data.length >0) {
                //                row = jQuery('#entryFormTable tr:last').html();
                //                jQuery('#botNav').hide();
                //                data+=row;
                //                jQuery('#entryFormTable tr:last').remove();
                //                jQuery('#entryFormTable').append(data);
                jQuery('#magCardPlaceHolder').append(data);
                jQuery('#paymentCaption_'+(formNumber)+' td:first').text(jQuery('#paymentCaption_'+(formNumber)+' td:first').text()+" "+jQuery('#magneticCardList option:selected').text()+"");
                formNumber++;
                magCardFormsArr[getNextFormNumber()-1]=true;
                if(formNumber > maxForms){
                    jQuery('#magneticCardList').enable(false);
                    jQuery('#addCard').fadeOut();
                }
            }});

    }else{
        alertDiv(65);//Reached max form allowd
    }
}

function removeMagneticCardForm(formId){
    jQuery('.magForm_'+formId).remove();
    formNumber--;
    magCardFormsArr[formId-1]=false;
    if(formNumber <= maxForms){
        jQuery('#magneticCardList').enable(true);
        jQuery('#addCard').fadeIn();
    }
    adjustMaincontent(15);
}
function submitEntryForm(){
    jQuery('#entryForm').valid();
    var radios = jQuery("#entryForm input[name='delivery']");
    var reservationRadio = jQuery("#entryForm input[name='reservationType']");
    var pass =reservationRadio.length==0;

    for(var i=0;i<reservationRadio.length;i++){
        if(reservationRadio[i].checked){
            pass=true;
        }
    }
    if(pass){
        jQuery('#reservationTypeErrorTR').fadeOut();
    }else{
        jQuery('#reservationTypeErrorTR').fadeIn();
        return false;
    }
    pass = radios.length==0;
    for(var i=0;i<radios.length;i++){
        if(radios[i].checked){
            pass=true;
        }
    }
    if(pass){
        jQuery('#radioErrorTR').fadeOut();
    }else{
        jQuery('#radioErrorTR').fadeIn();
        return false;
    }

    pass = jQuery('.magForm').length>0;
    if(pass){
        jQuery('#magneticCardList').css('border',"");
    }else{
        jQuery('#magneticCardList').css('border',"3px dotted red");
        jQuery('#magneticCardList').enable(true);
        return false;
    }

    if(jQuery('.captcha').length>0){
        jQuery.post("validateCaptcha", {captchaPhrase:jQuery('#captchaPhrase').attr('value'),userInput: jQuery('#captchaInput').attr('value')}, function(data){
            if(data.indexOf("pass")==-1) {
                jQuery('#captchaInput').addClass('error');
                pass=false;
                alertDiv(152);
                adjustMaincontent(15);
            }else{
                jQuery('#captchaInput').removeClass('error');
                if(jQuery('#entryForm').valid()==true && pass==true){
                    jQuery('#entryForm').submit();
                }
                else{
                    jQuery('.maincontent').height(jQuery('#entryFormTable').height()+40);
                    //                    jQuery('label.error').hide();
                    adjustMaincontent(15);
                }
            }
        });
    }else if(jQuery('#entryForm').valid() && pass){
        jQuery('#entryForm').submit();
    }

    //    jQuery('label.error').hide();
    return false;
}

function submitCustomerUpdate(){
    if(jQuery('#entryForm').valid() == true ){
        jQuery('#entryForm').submit();
    }else{
        jQuery('label.error').hide();
        adjustMaincontent(40);
    }
    return false;

}
var magCardFormsArr = new Array();
function initMagCardFormsArr(maxForms){
    for(var i=0;i<maxForms;i++){
        magCardFormsArr.push(false);
    }
}
function getNextFormNumber(){
    for(var i=0;i<magCardFormsArr.length;i++){
        if(magCardFormsArr[i]==false){
            return i+1;
        }
    }
    return -1;
}

function submitSearch(queryString,from,to){
    if(jQuery('#suggestions_searchInput').length>0){
        jQuery('#suggestions_searchInput').fadeOut();
    }
    if(!queryString){
        queryString = jQuery('#searchInput').attr('value');
    }
    if(!from){
        from = jQuery('#fromDate_sub').attr('value');
    }
    if(!to){
        to=jQuery('#toDate_sub').attr('value');
    }
    fromDate = $.datepicker.parseDate( shortDateFormat, from);
    toDate = $.datepicker.parseDate( shortDateFormat, to);
    if(fromDate>toDate || to=="" || from=="" || to.length!=10 || from.length!=10 ){
        jQuery('#dateError').fadeIn();
        return false;
    }else{
        jQuery('#dateError').fadeOut();
    }
    cartParams ="";
    if(!jQuery('#cartParams').val()){
        cartParams = jQuery('.cartParams').val();
    }else{
        cartParams = jQuery('#cartParams').val();
    }
    jQuery('#searchResult').append("<div class='calLoading'></div>");
    jQuery('#searchResult').load("performSearch",{queryString:queryString,
        from:from,
        to:to,
        languageId:jQuery('#languageId').attr('value'),
        cartParams:cartParams},function(){
        if(jQuery('.pagedisplay').val()=="1/1"){
            jQuery('#pager').html("&nbsp;");
        }
        adjustMaincontent(15);
    });
    return false;
}
function submitQuickSearch(){
    jQuery('#queryString').attr('value',jQuery('#inputString').attr('value'));
    submitForm('cartParamsForm','performSearch','submitBtnForm');
}

function addCartImg(){
    jQuery('.maincontent').append('<img id="cartImg" src="assets/'+asset+'/imgs/cart.png" style="position:absolute;display:none;>');
    jQuery('#cartImg').css('top',jQuery('#currentFeature').position().top -10);
    jQuery('#cartImg').css('left',jQuery('#currentFeature').position().left -20);
    jQuery('#cartImg').fadeIn();
}

function  addImgToPlaceHolder(imgName,placeHolderId,topOffset,leftOffset,container,id){
    if(!topOffset){
        topOffset=0;
    }
    if(!leftOffset){
        leftOffset=0;
    }
    if(!id){
        id=imgName;
    }
    if(!container){
        container="maincontnet";
    }
    jQuery('.'+container).append('<img id="'+id+'" src="assets/'+asset+'/imgs/'+imgName+'.png" style="position:relative;display:none;>');
    jQuery('#'+id).css('top',jQuery('#'+placeHolderId).position().top + topOffset);
    jQuery('#'+id).css('left',jQuery('#'+placeHolderId).position().left + leftOffset);
    jQuery('#'+id).fadeIn();
}
function adjustMaincontent(bottomPading){
    //    jQuery('.maincontent').height(jQuery('.maincontent').height() + jQuery('.leftData').height() -jQuery('.maincontent').height() + bottomPading);
    if(!bottomPading){
        bottomPading=15;
    }
    if(jQuery('.leftData').length>0){
        posDelta = jQuery('.leftData').position().top - jQuery('.maincontent').position().top;
        jQuery('.maincontent').height(jQuery('.leftData').height() + bottomPading + posDelta);
    }else if(jQuery('.leftDataFull').length>0){
        posDelta = jQuery('.leftDataFull').position().top - jQuery('.maincontent').position().top;
        jQuery('.maincontent').height(jQuery('.leftDataFull').height() + bottomPading + posDelta);
    }

}
function submitConfirmation(){
    if(jQuery('#acceptChkbox').attr('checked')){
        jQuery('#formContainer').remove();
        submitForm("orderConfirm","orderConfirmed","sbtEntryForm");
    }else{
        alertDiv(151);
    }
}

function updateTitle(imgSrc,caption){
    jQuery('#imgTitle').html('<img src="assets/'+asset+'/imgs/'+imgSrc+'" alt="">');
    jQuery('#captionTitle').html('<H1>'+caption+'</H1>');
}

function slideShow() {
    if($('#gallery a').length==0){
        $('#gallery').parent().hide();
        return false;
    }
    //Set the opacity of all images to 0
    $('#gallery a').css({opacity: 0.0});

    //Get the first image and display it (set it to full opacity)
    $('#gallery a:first').css({opacity: 1.0});

    //Set the caption background to semi-transparent
    $('#gallery .imgCaption').css({opacity: 0.7});

    //Resize the width of the caption according to the image width
    $('#gallery .imgCaption').css({width: $('#gallery').css('width')});
    //    $('#gallery .imgCaption').css({width: '244px'});

    //Get the caption of the first image from REL attribute and display it
    $('#gallery .content').html($('#gallery a:first').find('img').attr('rel'))
            .animate({opacity: 0.7}, 400);

    if( $('#gallery a').length>1){
        //Call the gallery function to run the slideshow, 6000 = change to next image after 6 seconds
        setInterval('gallery()',6000);
    }
}

function gallery() {

    //if no IMGs have the show class, grab the first image
    var current = ($('#gallery a.show')?  $('#gallery a.show') : $('#gallery a:first'));

    //Get next image, if it reached the end of the slideshow, rotate it back to the first image
    var next = ((current.next().length) ? ((current.next().hasClass('imgCaption'))? $('#gallery a:first') :current.next()) : $('#gallery a:first'));

    //Get next image caption
    var caption = next.find('img').attr('rel');

    //Set the fade in effect for the next image, show class has higher z-index
    next.css({opacity: 0.0})
            .addClass('show')
            .animate({opacity: 1.0}, 1000);

    //Hide the current image
    current.animate({opacity: 0.0}, 1000)
            .removeClass('show');

    //Set the opacity to 0 and height to 1px
    $('#gallery .imgCaption').animate({opacity: 0.0}, { queue:false, duration:0 }).animate({height: '1px'}, { queue:true, duration:300 });

    //Animate the caption, opacity to 0.7 and heigth to 100px, a slide up effect
    $('#gallery .imgCaption').animate({opacity: 0.7},100 ).animate({height: '100px'},500 );

    //Display the content
    $('#gallery .content').html(caption);
}
function showFeatureForToday(name){
    jQuery('#inputString').attr('value',name);
    submitQuickSearch();
}
function backTicketStep(action){
    var venueSectionId = 0;
    if(action.indexOf("selectTickets")>=0){
        venueSectionId=jQuery('#venueSectionId:first').attr('value');
    }
    jQuery('#ticketData').load(action+'.action',{prevNav:jQuery('#prevNav').attr('value'),
        params:jQuery('#params').attr('value'),
        presentationId:jQuery('#presentationId').attr('value'),
        selectedTickets:jQuery('#selectedTickets').attr('value'),
        sectionParams:jQuery('#sectionParams').attr('value'),
        //        venueSectionId:jQuery('#venueSectionId').attr('value'),
        cartParams:jQuery('#cartParams').attr('value'),
        navParams:jQuery('#navParams').attr('value'),
        lockedSeatsCoord:jQuery('#lockedSeatsCoord').attr('value'),
        languageId:jQuery('#languageId').attr('value'),
        embeded:true,
        ticketsParams:jQuery('#ticketsParams:first').attr('value'),
        backAction:true,
        venueSectionId:venueSectionId,
        cancelBack:jQuery('#cancelBack:first').attr('value')
    },function(){

        if(jQuery('#ticketData').is('.leftDataFull')){
            jQuery('#currentFeature').show();
            jQuery('#ticketData').addClass('leftData').removeClass('leftDataFull');
        }

    });
}
function backToEnryForm(){
    jQuery('#confirmContainer').remove();
    jQuery('#indicator').hide();
    jQuery('.PaymentReference').attr('value','');
    jQuery('#formContainer').fadeIn();
    jQuery('#aligner').append('<div id="confirmContainer" class="confirm"/>');
}
function signinSubmit(){
    jQuery('#signinDialog').load("signinSubmit", {username: jQuery('#username').attr('value'),password:jQuery('#password').attr('value'),
        languageId:jQuery('#languageId').attr('value')});
    jQuery('#indicator').show();
}
function loadUserInfo(){
    jQuery('#userBox').load('getUserInfo',{userId:jQuery('#userId').attr('value'),languageId:jQuery('#languageId').attr('value')});
}
function logout(){
    jQuery('#userId').attr('value','0');
    loadUserInfo();
    return false;
}
function submitCalSelection(date){
    jQuery('#selectedDate').attr('value',date);
    jQuery('#queryString').remove();
    submitForm('cartParamsForm','presentationByDate','submitBtnForm');
}
function forgotPasswordSubmit(){
    username = jQuery('#username').attr('value');
    if(username.length > 0){
        jQuery('.error').fadeOut();
        jQuery('#forgotPassword').load("forgotPasswordSubmit", {username: username,languageId:jQuery('#languageId').attr('value')});
    }
    else{
        jQuery('.error').show();
    }
}
function newPasswordSubmit(){
    password = jQuery('#password').attr('value');
    rePassword = jQuery('#passwordRetype').attr('value');
    pass = (password.length>0 && password==rePassword)

    if(pass){
        jQuery('#submit').click();
        jQuery('.error').fadeOut();
    }else{
        jQuery('.error').show();
    }
    return false;
}
function updateLanguage(langId){
    jQuery('.languageId').attr('value',langId);
    jQuery('#TB_closeWindowButton').click();
    submitForm('cartParamsForm','home','submitBtnForm');
}
function getNewCaptcha(){
    jQuery.post("getCaptcha.action",function(data){
        jQuery('#captchaContainer').html(data);
    });
}
function getStates(sourceType,targetId,sourceId){
    jQuery.post('getStatesByCountryId',{country: jQuery('#'+sourceId+' :selected').val(),stateType:sourceType},function(data){
        jQuery('#'+targetId).html(data);
    });
}
function loadMonth(monthFactor,increaseFactor){
    jQuery('#calCont').append("<div class='calLoading'></div>");
    if(monthFactor>0){
        jQuery('#calCont').load("partailCalendarLoad",{monthFactor:monthFactor,nextFactor:increaseFactor});
    }else{
        jQuery('#calCont').load("partailCalendarLoad",{monthFactor:monthFactor,prevFactor:increaseFactor});
    }
}
function submitFeatureCatagory(catagoryId){
    jQuery('#cartParamsForm').append("<input id='featureCat' name='featureCat' value='"+catagoryId+"' style='display:none;'>");
    submitForm("cartParamsForm",'jump','submitBtnForm');
}
function findByFeatureId(featureId){
    jQuery('#cartParamsForm').append("<input id='featureId' name='featureId' value='"+featureId+"' style='display:none;'>");
    submitForm("cartParamsForm",'minimalSearch','submitBtnForm');
}

function submitSvSelection(svId){
    var svNumber ="";
    var useTopUp = false;
    if(!svId){
        if (document.radioForm.group1.length == null){
            if( document.radioForm.group1.checked == true ){
                var id = document.radioForm.group1.id;
                svId = id.substring(1,id.length-1);

            }
        }
        for( i = 0; i < document.radioForm.group1.length ; i++ )
        {
            if( document.radioForm.group1[i].checked == true ){
                id = document.radioForm.group1[i].id;
                svId = id.substring(1,id.length-1);
            }
        }
    }
    if(!svId){
        alertDiv(27);
        return false;
    }
    if(jQuery('#useTopUp').length>0 && jQuery('#useTopUp').attr('checked')){
        svNumber = jQuery('#svNumber').val();
        useTopUp=true;
    }else if(jQuery('#svNumber').length>0 && jQuery('#useTopUp').length==0){
        svNumber = jQuery('#svNumber').val();
        useTopUp=true;
    }

    if(useTopUp){
        jQuery.post('validateSVNumber',{svNumber:svNumber},function(data){
            if(data.indexOf('success')==-1){//validation faild
                jQuery('.leftData').append(data);
            }else{
                jQuery('#params').val(svId+'#1_'+svNumber);
                addSvToCart();
            }
        });
    }else{
        jQuery('#params').val(svId+'#1');
        addSvToCart();
    }
}
function addSvToCart(){
    jQuery('#cartParamsForm').append(jQuery('#params').clone());
    jQuery('#cartParamsForm').append(jQuery('#saleItemType').clone());
    submitForm('cartParamsForm','addSaleItemToCart','submitBtnForm');
}

function submitPackageSelection(){
    var packageId=0;
    if (document.radioForm.group1.length == null){
        if( document.radioForm.group1.checked == true ){
            var id = document.radioForm.group1.id;
            packageId = id;
        }
    }
    for( i = 0; i < document.radioForm.group1.length ; i++ )
    {
        if( document.radioForm.group1[i].checked == true ){
            id = document.radioForm.group1[i].id;
            packageId = id;
        }
    }
    if(packageId==0){
        alertDiv(27);
        return false;
    }else{
        jQuery('#params:first').attr('value',(packageId+"#"+jQuery('#selectpackage_'+packageId+' :selected').val()));
        jQuery('#packageData').load('seatSelection.action',{prevNav:jQuery('#prevNav').attr('value'),
            params:jQuery('#params:first').attr('value'),
            sectionParams:jQuery('#sectionParams').attr('value'),
            ticketsParams:jQuery('#ticketsParams')?jQuery('#ticketsParams').attr('value'):"",
            seatsParams:jQuery('#seatsParams')?jQuery('#seatsParams').attr('value'):"",
            cartParams:jQuery('#cartParams')?jQuery('#cartParams').attr('value'):"",
            totalPrice:parseFloat(jQuery('#totalPrice').attr('value')),
            navParams:jQuery('#navParams').attr('value'),
            languageId:jQuery('#languageId').attr('value'),
            packageMode:true
        },function(){
            if(jQuery('#ticketData').find('#seatSelection').length>0){
                jQuery('#packageData').addClass('leftDataFull').removeClass('leftData');
            }
        });
    }
}
function initPackageSelect(){
    jQuery('input[type=radio][name=group1]').bind('change',function(e){
        if(jQuery(e.currentTarget).attr('checked')){
            jQuery('input[type=radio][name=group1]').not('#'+jQuery(e.currentTarget).attr('id')).each(function(i,currentRadio){
                jQuery('#selectpackage_'+jQuery(currentRadio).attr('id')).find('option[value=0]').attr('selected',true);
            });
            listDataChange('package');
        }
    });
    jQuery('.packageQty').bind('change',function(e){
        jQuery('#'+jQuery(e.currentTarget).attr('id').split('_')[1]).attr('checked',true).trigger('change');
    })
}
