// JavaScript Document

Shadowbox.init({	// initialize pop up effects.... wala pa ra ba nabayaran ang license ani.... :)
	animate: false,
	animateFade: false,
	overlayOpacity: 0.2,
	players: ['html', 'iframe', 'img']
});

function preLoader(div, size){	// call this function whenever you want to use generic preloader
	var size = ( size == null) ? 'medium' : size;
	$(div).innerHTML = '<div id="preloader-'+ size +'"></div>';
	return;
}

function helpPage(action){	// help page ../help
	preLoader('helpBody');
	var url = 'help/' + action;
	new Ajax.Updater('helpBody', url,
			{
				parameters: { 
					action: action
				}
			}
			);
}

function askLogin(){	// ask pop up login
	alert('ask login');
	return false;
}

var pageGuide = {		// global array variable for creating a campaign
			'reset' : 'choose_a_campaign',
			'choose_a_campaign' : 'register_new_campaign',
			'register_new_campaign' : 'site_map',
			'site_map' : 'design_your_mobile_site',
			'design_your_mobile_site' : 'create_mobile_contents',
			'create_mobile_contents' : 'campaign_distribution',
			'campaign_distribution' : 'campaign_financing',
			'campaign_financing' : 'campaign_tools'
			};	// to the next page


function scrollPreview(id){	// scroll mobile preview with respect to screen
	if ( id == 'site_map' || id == 'design_your_mobile_site'){
		document.observe('scroll', function(event) {
			new Effect.Move($('mobilePreview'), { x: 0, y: 0, mode: 'relative', duration: 0.2 });
			var distance = getScrollXY();
			var viewport = document.viewport.getHeight();
			moveDiv(distance, viewport);
		});	
	}else{
		document.stopObserving('scroll');
	}
}

function getScrollXY() {	// get the page scrolling properties
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  //return [ scrOfX, scrOfY ];
  return scrOfY; // just return scroll y for now
}

function moveDiv(distance, viewport){
	var percentage = Math.round((distance/viewport) * 100);
	var allowance = Math.round(distance/viewport) + 260;
	//percentage + Math.round(distance*.9)
	if ( percentage > 25)
		new Effect.Move($('mobilePreview'), { x: 0, y: distance - allowance, mode: 'absolute' });
	else
		new Effect.Move($('mobilePreview'), { x: 0, y: 0, mode: 'absolute' });
}

function createCampaign(createStatus, campaign){	// this is the main function for creating a campaign
	$('buttonBelow').style.display = 'none';	// hide back & continue button
	$('createLoader').style.display = 'block';	// show createLoader
	var isOk = validateData(createStatus, campaign);		// validate all entry
}

function updateCampaignDetails(createStatus, campaign){	
	var url = baseUrl + 'campaigns/update_ajax?flag=0&r' + Math.random();
	new Ajax.Updater('', url, {
		parameters: { 
			data : $(createStatus).serialize()
		}, onComplete: function(evalStatus){
			window.location = baseUrl+"/campaigns/manage/"+campaign;
		}, evalScripts: true
	});

}

function validateUpdateData(createStatus, update_url){	// will validate if data/ entry is correct
	var url = baseUrl + 'ajax/';
	//medium-loader.gif
	$('buttonBelow').innerHTML = '<img src="./images/medium-loader.gif" border="0">';
	new Ajax.Updater('', url,
			{
				parameters: { 
					data : $(createStatus).serialize(), campaignType : 1, createStatus: createStatus
				},
				onComplete: function(evalStatus){
					var response = evalStatus.responseText;
					if ( response == 'ok')
						updateCampaignContent(createStatus, update_url);
					else
						showError(response);
				},
				evalScripts: true
			}
			);
}

function updateCampaignContent(form, url){	
	url = baseUrl + url + '?flag=0&r' + Math.random();
	new Ajax.Updater('', url, {
		parameters: { 
			data : $(form).serialize()
		}, onComplete: function(evalStatus){
			var response = evalStatus.responseText;
			if(!response)
				$('result_txt').innerHTML = 'Update Successful';
			else
				$('result_txt').innerHTML = 'An Error occured while updating.';
			$('buttonBelow').innerHTML = '<img src="./images/btn_update.jpg" border="0" style="cursor: pointer" onclick="validateUpdateData(\'create_mobile_contents\', \'campaigns/update_mobile_contents\')"/>';
		}, evalScripts: true
	});

}

function chooseUserType(userType, campaignType){	// userType, campaignType - added Jan. 14, 2011 to distinguish marketers from vendors (User type)
	$('userType').value = userType;
	nextPage('choose_a_campaign', campaignType, userType);
}

function nextPage(createStatus, campaign){	// this will call the next page in creating a campaign
	if ( createStatus == 'choose_a_campaign')
		var userType = $('userType').value;
	else
		var userType = '';
		
	if ( campaign == 0){
		$('campaignProgressBar').style.display = 'none';	// show createLoader
	}else{
		$('campaignProgressBar').style.display = 'block';	// show createLoader
	}
	var div = 'campaignsBody';
	var url = 'campaigns/new_campaign/' + pageGuide[createStatus] + '/' + campaign;
	new Ajax.Updater(div, url,
	{
		parameters: {
			createStatus: pageGuide[createStatus], campaign: campaign, previousPage : createStatus, userType: userType
		},
		evalScripts: true
	}
	);
	
	scrollPreview(createStatus);
}

function previousPage(createStatus, campaign){	// this will call the previous page in creating a campaign
	var userType = '';
	if ( campaign == 0){
		$('campaignProgressBar').style.display = 'none';	// show createLoader
	}else{
		$('campaignProgressBar').style.display = 'block';	// show createLoader
	}
	var div = 'campaignsBody';
	var url = 'campaigns/new_campaign/' + createStatus + '/' + campaign;
	
	for ( var i in pageGuide){
		if (pageGuide[i] == createStatus)
			var previousPage = i;
	}
	new Ajax.Updater(div, url,
	{
		parameters: {
			createStatus: createStatus, campaign: campaign, previousPage : previousPage, userType: userType
		},
		evalScripts: true
	}
	);
	
	if ( createStatus == 'design_your_mobile_site' || 'create_mobile_contents')
	scrollPreview('site_map');
}

function validateData(createStatus, campaign){	// will validate if data/ entry is correct
	var url = baseUrl + 'ajax/';
	if (createStatus == 'register_new_campaign' && $('campaignCategory').value == 3){ // this is a prepaid coupon
		$('couponType').value = 29;
	}
	new Ajax.Updater('', url,
			{
				parameters: { 
					data : $(createStatus).serialize(), campaignType : campaign, createStatus: createStatus
				},
				onComplete: function(evalStatus){
					var response = evalStatus.responseText;
					if ( response == 'ok'){	// data/entry is ok, proceed to nextpage
						// edited Nov. 25, 2010 - coupon category
						if ( createStatus == 'register_new_campaign' && $('campaignCategory').value == 5){	// campaign category is not coupon, proceed to site map
							if ( $('couponType').value == '')
								chooseCouponType(createStatus, campaign);
							else
								nextPage(createStatus, campaign);
						}else{
							nextPage(createStatus, campaign);
						}
					}else{	// something wrong.
						//alert(response);
						$('buttonBelow').style.display = 'block';	// show back & continue button
						$('createLoader').style.display = 'none';	// hide createLoader
						showError(response);
					}
				},
				evalScripts: true
			}
			);
}

// added Nov. 25, 2010 for chooseCouponType()
function chooseCouponType(createStatus, campaign){
	var thisPage = baseUrl + 'campaigns/' + 'choose_coupon/' + createStatus + '/' + campaign;
	Shadowbox.open({
		player:     'iframe',
		content:    thisPage,
		width: 393,	//564,
		height: 400,
		options: {onClose:function(){ toTheSiteMap( createStatus, campaign)}}
	});
	//nextPage(createStatus, campaign);
}

function toTheSiteMap( createStatus, campaign){
	if ( $('couponType').value == '')
		previousPage('register_new_campaign', campaign);
	else
		validateData(createStatus, campaign);
}

function showError(response){
	var thisError = response;
	var errors = new Array();
	errors = thisError.split('-');
	var errorContent = '';
	
	var adjustment = 0;
	for ( i = 0; i < errors.length; i++){
		var num = errors[i];
		errorContent += '<li>' + errorMessage[num] + '</li>';
	}
	
	if ( errors.length < 5){
		var adjustment = 148;	
	}else{
		var adjustment = 188;
	}
	
	height = 24*(errors.length) + adjustment;
	var content = '<h1 class="errorTitle">ERROR</h1><ul class="errorText">' + errorContent + '</ul>';
	Shadowbox.open({
		player:     'html',
		content:    content,
		width: 300,
		height: height
	});
}

function popUpImage(url,width,height,title){
	Shadowbox.open({
		player:     'html',
		content:    '<img src="' + url + '" />',
		width: width,
		height: height,
		title: title
	});
}

function templateInfo(template){
	var thisPage = baseUrl + 'pop_up/' + template;
	Shadowbox.open({
		animate: true,
		animateFade: true,
		player:     'iframe',
		content:    thisPage,
		height: 232,
		width: 410
	});
}

function optionalFooter(id){
	if ( $(id).checked)
		$('optionalFooter').show();
	else
		$('optionalFooter').hide();
}

function ownTC(id){
	if ( $(id).checked)
		$('ownTermsText').show();
	else
		$('ownTermsText').hide();
}

//invitation & flyers
function invitationFlyers(){
	$('invitationFlyersTms').hide();
	$('invitationFlyersOwn').hide();
	if ( $('invitationFlyersLayoutTms').checked)
		$('invitationFlyersTms').show();
	if ( $('invitationFlyersLayoutOwn').checked)
		$('invitationFlyersOwn').show();
}

// colorpicker
function defineColor(input, button) {
	var bgcolor = new dhtmlXColorPicker(null, null, false, true);
	bgcolor.setImagePath( baseUrl + "images/colorpicker2/");
	bgcolor.init();
	bgcolor.linkTo(input, button);
	bgcolor.setOnSelectHandler(function (color) {
    	//c = bgcolor.getSelectedColor();
		$(input).value = color;
		$(input).style.color = color;
		// $$('li.faux')
		switch(input){
			case 'bg1':
				$('mobileScreen').style.backgroundColor = color;
				break;
			case 'font1':
				$('mobileBody').style.color = '#000';
				break;
			case 'banner1':
				$('mobileHeader').style.backgroundColor = color;
				break;
			case 'banner3':
				$('mobileHeader').style.color = color;
				break;
		}
		
    })
	//Link to button and input;
}


// start sitemap
// edited Nov. 24, 2010: Optional page is now sideways
function moveTemplate(id, limit){
	if ( $('useOptionalPage').checked){
		limit = parseInt(parseInt(limit) + parseInt($('addWidth').value));
		
	}
	var temp = parseInt($('movementLimit').value);
	if ( id == 'left'){
		if ( temp == 0)
			return;
		var dis = 190;
	}else{
		var check = limit/190;
		check = check - 4;
		if ( temp == check)
			return;
		var dis = -190;
	}
	new Effect.Move('mainTemplateHolder', {x:dis,y:0,duration:0.1, afterFinish: tMovement(id)})
}

function tMovement(id){
	var temp = parseInt($('movementLimit').value);
	if ( id == 'right')
		$('movementLimit').value = temp + 1;
	else
		$('movementLimit').value = temp - 1;
}
// end sitemap

// start campaign distribution
function chooseAllContinent(obj, value){
	var allContinent = continentLists.split(',');
	var _input = document.campaign_distribution.getElementsByTagName('input');
	for (var c=0; c<allContinent.length;c++) {
		for (var i=0; i<_input.length;i++) {
			if (_input[i].type == 'checkbox'){
				if ( _input[i].name == allContinent[c] + value || _input[i].name == allContinent[c] + '[]')
					_input[i].checked = obj.checked;
			}
		}
		
	}
}

function chooseSpecificContinent(obj, value){
	var _input = document.campaign_distribution.getElementsByTagName('input');
	for (var i=0; i<_input.length;i++) {
		if (_input[i].type == 'checkbox' && _input[i].name == value){
			_input[i].checked = obj.checked;
		}
	}
}
// end campaign distribution

// start create mobile contents

var templateAlias = new Array();
templateAlias['mainPage'] = 'mainPage';
templateAlias['9'] = 'myAdPromoDiv';
templateAlias['10'] = 'feedbackDiv';
templateAlias['27'] = 'companyInformationDiv';
templateAlias['9'] = 'myAdPromoDiv';
templateAlias['1'] = 'discountCouponsDiv';
templateAlias['23'] = 'classicCouponDiv';
templateAlias['3'] = 'invitationFlyersDiv';
templateAlias['24'] = 'myOwnCouponDiv';
templateAlias['8'] = 'callbackDiv';
templateAlias['21'] = 'termsAndConditionsDiv';
templateAlias['4'] =  'contactUsDiv'; //'locationAndContactsDiv';
templateAlias['25'] = 'tellFriendDiv';
templateAlias['26'] = 'optInDiv';
templateAlias['11'] = 'socialFeedDiv';
templateAlias['21'] = 'termsAndConditionDiv';
templateAlias['99'] = 'socialBarDiv';
templateAlias['30'] = 'clickToCallDiv';

var optionalSubPage = new Array(10, 21, 25);

function in_array (needle, haystack, argStrict) {
    var key = '', strict = !!argStrict;

    if (strict) {
        for (key in haystack) {
            if (haystack[key] === needle) {
                return true;
            }
        }
    } else {
        for (key in haystack) {
            if (haystack[key] == needle) {
                return true;
            }
        }
    }

    return false;
}

function resetTemplate(id, idNo){
	if ( id != 'mainPage'){
		$(id).innerHTML = '';	// reset inner div to remove field inside the form
		if (!in_array(idNo, optionalSubPage)) {	// filter if optional subpage or not
			$('menuFor' + idNo).innerHTML = '';	
			$('menuCounter').value = $('menuCounter').value - 1;
			if ( $('menuCounter').value == 1){	// remove menu page, this is not needed
				$('menuPageDiv').innerHTML = '';
			}
		}
 	}else{
		$(id).innerHTML = '';	// reset inner div to remove field inside the form
	}
	return;
}

function filterTemplate(id){
	$(templateAlias[id]).hide();
	resetTemplate(templateAlias[id], id);
	return false;
}
// end create mobile contents

// added jan. 04, 2011 - undo/ remove button
var templateField = new Array();
templateField['mainPage'] = 'mainPage';
templateField['9'] = 'myAdPromo';
templateField['10'] = 'feedback';
templateField['27'] = 'companyInformation';
templateField['9'] = 'myAdPromo';
templateField['1'] = 'discountCoupons';
templateField['23'] = 'classicCoupon';
templateField['3'] = 'invitationFlyers';
templateField['24'] = 'myOwnCoupon';
templateField['8'] = 'callback';
templateField['21'] = 'termsAndConditions';
templateField['4'] = 'contactUs';
templateField['25'] = 'tellFriend';
templateField['26'] = 'optIn';
templateField['11'] = 'socialFeed';
templateField['21'] = 'termsAndCondition';
templateField['30'] = 'clickToCall';

function undoRemove(template, action){
	var tId = template;
	template = templateField[template];
	if ( tId != '99'){
		if ( action == 'Remove'){	// disable this template and hide
			var _input = document.getElementById('create_mobile_contents').elements;
			for (var i=0; i<_input.length;i++) {	// disable all field related to this template
				if ( stristr(_input[i].name, template)){
					Form.Element.disable(_input[i]);
				}
				if (!in_array(tId, optionalSubPage)) {	// filter if optional subpage or not
					if ( stristr(_input[i].name, 'menuPage[' + tId + ']')){ // disable menu text for this template
						Form.Element.disable(_input[i]);
					}
				}
			}
			$('undoRemoveButton' + tId).innerHTML = '<span class="remove"><a href="#" id="orange" onclick="undoRemove(' + tId + ',\'Undo\'); return false;">Undo</a></span>';
			if (!in_array(tId, optionalSubPage)) {	// filter if optional subpage or not
				$('menuFor' + tId).hide();
			}
			$(templateAlias[tId]).hide();
		}else{	// enable again
			var _input = document.getElementById('create_mobile_contents').elements;
			for (var i=0; i<_input.length;i++) {	// disable all field related to this template
				if ( stristr(_input[i].name, template)){
					Form.Element.enable(_input[i]);
				}
				if (!in_array(tId, optionalSubPage)) {	// filter if optional subpage or not
					if ( stristr(_input[i].name, 'menuPage[' + tId + ']')){ // disable menu text for this template
						Form.Element.enable(_input[i]);
					}
				}
			}
			$('undoRemoveButton' + tId).innerHTML = '<span class="remove"><a href="#" id="orange" onclick="undoRemove(' + tId + ',\'Remove\'); return false;">Remove</a></span>';
			if (!in_array(tId, optionalSubPage)) {	// filter if optional subpage or not
				$('menuFor' + tId).show();
			}
			$(templateAlias[tId]).show();
		}
	}else{	// socialBar
		if ( action == 'Remove'){
			$('undoRemoveButton' + tId).innerHTML = '<span class="remove"><a href="#" id="orange" onclick="undoRemove(' + tId + ',\'Undo\'); return false;">Undo</a></span>';
			$('socialBarCheckBox').checked = false;
			$(templateAlias[tId]).hide();
		}else{
			$('undoRemoveButton' + tId).innerHTML = '<span class="remove"><a href="#" id="orange" onclick="undoRemove(' + tId + ',\'Remove\'); return false;">Remove</a></span>';
			$('socialBarCheckBox').checked = true;
			$(templateAlias[tId]).show();
		}
		
	}
	return false;
}

function stristr (haystack, needle, bool) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfxied by: Onno Marsman
    // *     example 1: stristr('Kevin van Zonneveld', 'Van');
    // *     returns 1: 'van Zonneveld'
    // *     example 2: stristr('Kevin van Zonneveld', 'VAN', true);
    // *     returns 2: 'Kevin '

    var pos = 0;

    haystack += '';
    pos = haystack.toLowerCase().indexOf( (needle+'').toLowerCase() );
    if (pos == -1){
        return false;
    } else{
        if (bool) {
            return haystack.substr( 0, pos );
        } else{
            return haystack.slice( pos );
        }
    }
}

// undo/ remove button

// start select coupon effect
function goDark(img){
	new Effect.Opacity(img.id, { from: 1.0, to: 0.4, duration: 0.2 });
	return;
}

function goLight(img){
	new Effect.Opacity(img.id, { from: 0.4, to: 1.0, duration: 0.2 });
	return;
}

var couponType = new Array();
couponType['ownCoupon'] = 24;
couponType['classicCoupon'] = 23;
//couponType['discountGiftCoupon'] = 1;

var couponAlias = new Array();
couponAlias[0] = 'ownCoupon';
couponAlias[1] = 'classicCoupon';
//couponAlias[2] = 'discountGiftCoupon';

function selectedCoupon(img){
	for (var c=0; c<couponAlias.length;c++) {
		var newSrc = baseUrl + 'images/template-icon/img_' + couponAlias[c] + '.gif';
		$(couponAlias[c]).src = newSrc;	
		if ( img.id == couponAlias[c]){
			var newSrc = baseUrl + 'images/template-icon/img_' + couponAlias[c] + 'Selected.gif';
			$(img.id).src = newSrc;
		}
	}
	var createStatus = $('createStatus').value;
	var campaign = $('campaign').value;
	var url = baseUrl + 'campaigns/' + 'choose_coupon/' + createStatus + '/' + campaign;
	$('choosenCoupon').innerHTML = 'Loading coupon properties...';
	new Ajax.Updater('choosenCoupon', url,
	{
		parameters: {
			couponType: couponType[img.id], createStatus: createStatus, campaign: campaign
		}
	}
	);
}

function siteMap( createStatus, campaign, couponType){
	parent.$('couponType').value = couponType;
	parent.Shadowbox.close();
}

// end select coupon effect

// start coupon participant
// use for displaying/ hiding coupon participant
function couponParticipantSite(action,type,coupon){
	//alert(action + type + coupon);
	var limit = parseInt($(coupon + type + 'Limit').value);
	if ( action == 'add'){
		var status = parseInt($(coupon + type + 'Status').value) + 1;
		var target = coupon + type + '-' + status;
		if ( status <= limit){
			$(target).show();
			$(coupon + type + 'Status').value = status;
			$(target).scrollTo();
		}
		
	}else{
		var status = parseInt($(coupon + type + 'Status').value);
		var target = coupon + type + '-' + status;
		if ( status > 1){
			$(coupon + 'siteName' + status).value = '';
			$(coupon + 'urlAddress' + status).value = '';
			$(target).hide();
			$(coupon + type + 'Status').value = status - 1;
			
			var scollTarget = coupon + type + '-' + (status - 1);
			$(scollTarget).scrollTo();
		}
	}
	
	// scrolling effects
	/*
	var scrollTarget = 'participating' + type;
	var xPosition = arr[0];
	var yPosition = arr[1];
	if ( type == 'Store'){
		var scrollThis = 100;
	}else{
		var scrollThis = 50;
	}

if ( action == 'add'){
		window.scrollTo(xPosition, yPosition + scrollThis);	
	}else{
		window.scrollTo(xPosition, yPosition - scrollThis);	
	}
	*/
	// end scrolling effects
}

/* march 03 2011, start store participant */
function storeParticipant(action,type,coupon){
	var limit = parseInt($(coupon + type + 'Limit').value);
	if ( action == 'add'){
		var status = parseInt($(coupon + type + 'Status').value) + 1;
		var target = coupon + type + '-' + status;
		if ( status <= limit){
			$(target).show();
			$(coupon + type + 'Status').value = status;
			$(target).scrollTo();
		}
	}else{
		var status = parseInt($(coupon + type + 'Status').value);
		var target = coupon + type + '-' + status;
		if ( status > 1){
			//$(target).innerHTML = '';
			$(target).hide();
			$(coupon + type + 'Status').value = status - 1;
			var scollTarget = coupon + type + '-' + (status - 1);
			$(scollTarget).scrollTo();
		}
	}
}

/* march 03 2011, end store participant*/
function couponParticipant(action,type,coupon){
	if ( type == 'Site'){
		couponParticipantSite(action,type,coupon)
		return;	
	}
	//alert(action + type + coupon);
	var limit = parseInt($(coupon + type + 'Limit').value);
	if ( action == 'add'){
		var status = parseInt($(coupon + type + 'Status').value) + 1;
		var target = coupon + type + '-' + status;
		if ( status <= limit){
			var div = target;
			var url = baseUrl + '/campaigns/generic';
			new Ajax.Updater(div, url,
					{
						parameters: { 
							i: status, name: coupon
						},
						onComplete: function(evalStatus){
							var response = evalStatus.responseText;
							$(target).innerHTML = response;
							$(target).show();
							$(coupon + type + 'Status').value = status;
							$(target).scrollTo();
						}
					}
					);
		}
	}else{
		var status = parseInt($(coupon + type + 'Status').value);
		var target = coupon + type + '-' + status;
		if ( status > 1){
			$(target).innerHTML = '';
			$(target).hide();
			$(coupon + type + 'Status').value = status - 1;
			var scollTarget = coupon + type + '-' + (status - 1);
			$(scollTarget).scrollTo();
		}
	}
}
// end coupon participant

// start select classic coupon type
// select and update display based on selected coupon type

var offerType = new Array();
offerType[0] = 'Percentage';
offerType[1] = 'Quantity';
offerType[2] = 'Price';
offerType[3] = 'Gift';

function selectOfferType( couponType){
	var choosenOffer = $('offerSelect').value;
	for ( i = 0; i < offerType.length; i++){
			$('classic' + offerType[i]).hide();
	}
	for ( i = 0; i < offerType.length; i++){
		if ( offerType[i] == choosenOffer){
			$('classic' + choosenOffer).show();
		}
	}
}
// end select classic coupon type

// added dec. 28, 2010 - preview mobile site
function previewSite(page, createStatus){
	if ( page == 'participant-classicCoupons' || page == 'participant-myOwnCoupon' || page == 'participant-prepaidCoupon' || page == 'participant-giftCard')
		var participant = 1;
	else
		var participant = '0';
	
	if ( stristr($(createStatus).serialize(), 'socialBar%5Buse%5D=on')){	// to show social bar @ the preview footer
		var showSocialBar = 1;	
	}else{
		var showSocialBar = '0';
	}
	
	if ( stristr($(createStatus).serialize(), '&tellFriend%5Bheader%5D=')){	// to show tell friend
		var showTellFriend = 1;	
	}else{
		var showTellFriend = '0';
	}

	var isReview = '0';
	if ( page == 'classicCoupons' || page == 'myOwnCoupon' || page == 'prepaidCoupon' || page == 'giftCard'){
		if ( stristr($(createStatus).serialize(), '&feedback%5Bheader%5D'))
			var isReview = 1;
	}	
	var div = 'mobileScreen';
	$(div).innerHTML = '<div class="mobileSiteLoader"><img src="images/large-loader.gif" width="100" height="100" /></div>'; // show preloader first
	var url = baseUrl + 'preview_mobile_site/';
	new Ajax.Updater(div, url,
			{
				parameters: { 
					data : $(createStatus).serialize(), createStatus: createStatus, page: page, participant: participant
				},
				onComplete: function(evalStatus){
					var response = evalStatus.responseText;
					// review will appear or not?
					if ( response == 'ok'){
						var couponReference = '';
						if ( page == 'participant-classicCoupons' || page == 'participant-myOwnCoupon' || page == 'participant-prepaidCoupon' || page == 'participant-giftCard'){
							var temp = page.split('-');
							couponReference = temp[1];
							page = 'participant';
						}
						new Ajax.Updater(div, url,
								{
									parameters: { 
										data : $(createStatus).serialize(), createStatus: 'generatePreview', page: page, isReview: isReview, showSocialBar: showSocialBar, participant: participant, couponReference: couponReference, showTellFriend: showTellFriend
									}
								}
								);
					}else{
						$(div).innerHTML = '<div class="mobileSiteLoader"><img src="images/mobile-error.jpg" /></div>';
						showError(response);
					}
				}
			}
			);
	return false;
}

// added Jan. 17, 2011 - Vendor is still under construction
// preferred partners
function tempVendor(h,w){
	var thisPage = baseUrl + 'campaigns/vendor_temp';
	Shadowbox.open({
		content:    thisPage,
		player:     'iframe',
		height:     h,
		width:      w
    });
   return;
}

function vendorRequest(){
	var div = 'vendorRequest';
	$(div).innerHTML = '<img src="' + baseUrl + 'images/small-loader.gif" width="16" height="16" />'; // show preloader first
	var url = baseUrl + 'campaigns/vendor_temp/';
	new Ajax.Updater(div, url,
			{
				parameters: { 
					data : $('vendorRequestForm').serialize()
				},
				onComplete: function(evalStatus){
					var response = evalStatus.responseText;
					if ( response == 'ok'){
						$(div).innerHTML = 'Request sent...';
						parent.location = baseUrl + 'campaigns/new_campaign/';
					}else{
						$(div).innerHTML = result;
					}
				}
			}
			);
	return false;
}

function reloadCaptcha(){
	var newImage = baseUrl + 'home/securimage/' + Math.random();
	//alert(newImage);
	$('captchaVendor').src = newImage;
	return false;
}

function couponLogo(logo){	// added jan. 21, 2010
	var showDiv = logo + 'Logo';
	if ( logo == 'text')
		var hideDiv ='userLogo';
	else
		var hideDiv ='textLogo';
	
	$(hideDiv).hide();
	$(showDiv).show();
}

function killEnter(evt)
{
	if(evt.keyCode == 13 || evt.which == 13)
	{
		return false;
	}
	else
		return true;
}

//search camp localiztaion
function addCountry()
{
	id = $('countryId').value + '_id';
	html = '<li id="' + id + '" ><img class="imgRemove" id="' + $('countryId').value + '_remove" src="./images/cross.png" border="0" /> ' + $('autoCountry').value + '</li>';
	if($(id) == null)
	{
		var _input = document.campaign_distribution.getElementsByTagName('input');
		for (var i=0; i<_input.length;i++)
		{
			if (_input[i].type == 'checkbox' && _input[i].value == $('countryId').value)
			{
				_input[i].checked = 'checked';
			}
		}
		new Insertion.Before('flagID', html)
	}
}

function removeCountry()
{
	alert($(this).id);
}

// implementation of new category, feb112011
function categoryOther(category){
	if ( category != 26)
		$('otherCategory').hide();
	else{
		$('otherCategory').show();
	}
	return;
}

// start purchased vanity
function finalizedPurchase(){
		var temp = '';
		var form = $('campaign_distribution');
		var inputs = form.getInputs('checkbox');
		var allContinent = false;
		inputs.each(function (elem) {
				if ( elem.checked && elem.name == 'allContinentCheckBox'){
					allContinent = true;
				}
				if (elem.checked && !(stristr (elem.name, 'Continent'))){
					//alert(elem.value);
					if(temp != '')
						temp = temp + ',' + elem.value;
					else
						temp = elem.value;
				}
		});
		
		if ( temp != ''){
			if ( allContinent){
				temp = 'allContinent';
			}
			var div = 'purchasedStatus';
			$(div).innerHTML = '<img src="' + baseUrl + 'images/small-loader.gif" width="16" height="16" />'; // show preloader first
			var url = baseUrl + 'campaigns/purchasedRoots/';
			new Ajax.Updater(div, url,
					{
						parameters: { 
							rootCoverage: temp, root: $('vanityRoot').value
						},
						onComplete: function(evalStatus){
						}
					}
					);
		}else{
			showError('74');
		}
	}
	
function reCompute(){
	var form = $('campaign_distribution');
	var inputs = form.getInputs('checkbox');
	var temp = 0;
	inputs.each(function (elem) {
			if (elem.checked && !(stristr (elem.name, 'Continent'))){
				//alert(elem.value);
					parseInt(temp);
					temp = temp + 1;
			}
	});
	$('priceOnUSD').update(temp * 99);
	$('priceOnUnit').update((temp * 99)/.10);
}
// end purchased vanity

// start generate random shortcode
function generateRandomShortcode(target){
	var url = baseUrl + 'campaigns/generateRandomShortcode/';
	new Ajax.Updater(target, url,
			{
				parameters: { 
					
				},
				onComplete: function(evalStatus){
					var response = evalStatus.responseText;
					$(target).value = response;
				}
			}
			);
}
// end generate random shortcode

function select_factual(id, name, store_num) {
	//alert(name + '[storeName' + store_num + ']');
	$(name + '[storeName' + store_num + ']').value = $('name_' + id).innerHTML;
	$(name + '[buildingName' + store_num + ']').value = $('address_' + id).innerHTML;
	$(name + '[storeStreet' + store_num + ']').value = $('locality_' + id).innerHTML;
	if($('region_' + id).innerHTML != '')
		$(name + '[storeCity' + store_num + ']').value = $('region_' + id).innerHTML;
	else
		$(name + '[storeCity' + store_num + ']').value = $(name + '[storeCountry' + store_num + ']').value;
	$(name + '[latitude' + store_num + ']').value = $('latitude_' + id).value;
	$(name + '[longitude' + store_num + ']').value = $('longitude_' + id).value;
	$(name + '[storeCountryCode' + store_num + ']').value = $('country_code_' + id).value;
	$(name + '[storeNumber' + store_num + ']').value = $('telephone_' + id).innerHTML;
	$(name + '[from_factual' + store_num + ']').value = 1;
	check = 6;
	
	if(store_num == 1 && $('cstore_name') != null)
	{
		$('cstore_name').value = $('name_' + id).innerHTML;
		$('cContact_code').value = $('country_code_' + id).value;
		$('cContact_num').value = $('telephone_' + id).innerHTML;
		$('cAddress').value = $('address_' + id).innerHTML;
		$('cLocality').value = $('locality_' + id).innerHTML;
		if($('region_' + id).innerHTML != '')
			$('cRegion').value = $('region_' + id).innerHTML;
		else
			$('cRegion').value = $(name + '[storeCountry' + store_num + ']').value;
			
		var e = $(name + '[storeCountry' + store_num + ']');
		var sel_option = e.options[e.selectedIndex].text;
		var options = $('contact_country');
		var len = options.length;
		for (var i = 0; i < len; i++) {
			//alert(options[i].text);
			if(options[i].value == sel_option)
				options[i].selected = true;
		}
	}
	
	Shadowbox.close();
}


// generic terms & conditions
function useGenericTaC(){
	$('legalTextBox').value = $('tac_generic').innerHTML;
	Shadowbox.close();
	return false;
}

// image / video user rights
function uploadRights(type,file){
	var _input = document.getElementById('create_mobile_contents');
	for (var i=0; i<_input.length;i++)
	{
		var chkname = _input[i].name;
		if (_input[i].type == 'checkbox' && stristr(chkname,type)){
			if ( _input[i].checked){
				if ( file == 'Image' && type == 'companyInformation'){
					$('companyInformationImageCheckBoxDiv').show();	
					break;
				}
				if ( file == 'Video' && type == 'companyInformation'){
					$('companyInformationVideoCheckBoxDiv').show();	
					break;
				}
			}else{
				if ( file == 'Image' && type == 'companyInformation'){
					$('companyInformationImageCheckBoxDiv').style.display = 'none'; //$('companyInformationImageCheckBoxDiv').hide();	
				}
				
				if ( file == 'Video' && type == 'companyInformation'){
					$('companyInformationVideoCheckBoxDiv').style.display = 'none'; //$('companyInformationImageCheckBoxDiv').hide();	
				}	
			}
		}
	}
}

//added 02 17 2001
function camp_finance(click_cost)
{
	var clicks = $('campaignCap').value;
	var url = baseUrl + 'autocomplete/camp_finance';
	var div = '';
	var total_credits = 0;
	
	var e = document.getElementById("currency");
	var currency = e.options[e.selectedIndex].value;
	
	$('credit_val').value = '';
	new Ajax.Updater(div, url, {
		parameters: { 
			//currency: $('currency').value, clicks: clicks
			currency: currency, clicks: clicks
		},
		onComplete: function(evalStatus){
			var response = evalStatus.responseText;
			$('credit_val').value = response;
			total_credits = click_cost * clicks;
			$('total_credits').innerHTML = total_credits
		}
	});
}
											
// no letter on input text
function noLetters(e){
	var keynum;
	var keychar;
	var filter;

	if(window.event) {// IE
		keynum = e.keyCode;
	}else if(e.which) {// Netscape/Firefox/Opera
		keynum = e.which;
	}
	keychar = String.fromCharCode(keynum);
	filter = /^([a-z]|[A-Z]|\+|_|-|\s|\||\?|\\|\*|\/|\[|\]|\{|\}|`|~|!|@|#|\$|%|\^|&|\(|\)|=|;|:|'|"|,|\.|\<|\>)*$/;
	return !filter.test(keychar);
}

