//var jsurl = "default.php";
$(function(){
	_clearForm('register_event');
	home();
	enquiry();
	logoslider();
	newsletter();
	general();
	notification();
	events();
	promotions();
	solutions();
	aboutus();
	tabcontent();
});

function home()
{
    $('#mainbanner').nivoSlider({
		effect:'sliceDown'
	})
}

function enquiry()
{
	$('#enquiry_button').click(function(){
		$('#enquiry').dialog({
			modal: true,
			resizable: false,
			draggable: false,
			width: 700,
			show: 'slide'
		});
	});
	$('#enquiry .close').click(function(){
		$('#enquiry').dialog('close', function(){
			_clearForm('enquiry');
		});
	});
	$('#enquiry_form').validate();
	$('#submitEnquiry').click(function(){
		if($('#enquiry_form').valid()){
			$.ajax({
				type: "POST",
				url:  jsurl,
				dataType: 'json',
				data: $('#enquiry_form').serialize(),
				success: function(r){
					alert('Thank you for your enquiry!');
					$('#enquiry').dialog('close');
				}
			});
		}
	});
}
function logoslider()
{
	featuredcontentglider.init({
		gliderid: "canadaprovinces", //ID of main glider container
		contentclass: "glidecontent", //Shared CSS class name of each glider content
		togglerid: "p-select", //ID of toggler container
		remotecontent: "", //Get gliding contents from external file on server? "filename" or "" to disable
		selected: 0, //Default selected content index (0=1st)
		persiststate: false, //Remember last content shown within browser session (true/false)?
		speed: 500, //Glide animation duration (in milliseconds)
		direction: "rightleft", //set direction of glide: "updown", "downup", "leftright", or "rightleft"
		autorotate: true, //Auto rotate contents (true/false)?
		autorotateconfig: [3000, 2] //if auto rotate enabled, set [milliseconds_btw_rotations, cycles_before_stopping]
	})
}

function newsletter()
{
	$('#ccSubs').validate();
	$('#subscribeNews').click(function(){
		if($('#ccSubs').valid()){
			$.ajax({
				type: "POST",
				url:  jsurl,
				dataType: 'json',
				data: $('#ccSubs').serialize(),
				success: function(r){
					if(r=="1"){
						alert('Thank you for your subscription!');
						$('#ccSubs input[name="name"]').val('Name');
						$('#ccSubs input[name="email"]').val('Email');
                                                $('#ccSubs input[name="company_name"]').val('Company Name');
					}else if(r=="2"){
						alert('Your email is already subscribed in our list');
					}
				}
			});
		}
	});
}
function general()
{
	//Dialog
	$('.ui-widget-overlay').live('click',function(){
		$('.ui-dialog-content').dialog('close');
	});
	
	$('.jQ-back').button();
	$('.jQ-back').click(function(){
		history.back();
	});
}

function aboutus()
{
	$('#press h4').click(function(){
		$('div.'+$(this).attr('data-year')).slideToggle('slow');
	});
		
	$('.career ul li a').click(function(){
		var aThis = $('div.job'+$(this).attr('data-jid'));
		$('div.job_desc').not(aThis).hide();
		aThis.slideToggle('slow');
	});
}
function notification()
{
	//Notification
	$('.latestnews').cycle({
		fx: 'fade', // choose your transition type, ex: fade, scrollUp, shuffle, etc...
		pause: 1,
		timeout: 3000
	});
}
function events()
{
	/*** Event Registration ***/
	$('a.regevent').click(function(){
		$('#reg_event_form').validate();
		var event_id = $(this).attr('data-eid');
		var event_title = $(this).attr('data-etext');
		$('#register_event').dialog({
			dialogClass: 'eventreg dialog',
			modal: true,
			draggable: false,
			resizable: false,
			width: 600,
			open: function(e){
				$('#register_event input[name="e"]').val(event_id);
				$('#register_event input[name="title"]').val(event_title);
				$('#register_event .title').html('RSVP ' + event_title)
			}
		});
	});
	$('a.sendrsvp').click(function(){
		if ($("#reg_event_form").validate().form() == true) {
		var param = $('#reg_event_form').serialize();
		$.ajax({
			type: "POST",
			url:  jsurl,
			dataType: 'json',
			data: param,
			success: function(res){
				if(res){
					alert('Thank you for your attendance!');
					_clearForm('register_event');
					$('#register_event').dialog('close');					
				}
			}
		});
		}
	});
	$('a.closersvp, #register_event .close').click(function(){
		_clearForm('register_event');
		$('#register_event').dialog('close');
	});
   /*** Event Registration ***/
}

function promotions()
{
	/*** Email To Friends ***/
   $('a.emailfriendsbtn').click(function(){
		var promo_id = $(this).attr('data-pid');
		var promo_title = $(this).attr('data-ptext');
		$('#email_to_friends').dialog({
			modal: true,
			draggable: false,
			resizable: false,
			width: 600,
			open: function(e){
				$('#email_to_friends input[name="p"]').val(promo_id);
				$('#email_to_friends input[name="title"]').val(promo_title);
				$('#email_to_friends .title').html(promo_title)
				$('#email_to_friends input[name="subject"]').val(promo_title);
			}
		});
   });
   //Send to friends
   $('a.sendemails').click(function(){
		if ($("#emailfriends_form").validate().form() == true) {
			var param = $('#emailfriends_form').serialize();
			$.ajax({
				type: "POST",
				url:  jsurl,
				dataType: 'json',
				data: param,
				success: function(){
					
					
				}
			});
			alert('Thank you! The latest promotion is already sent to your friends!');
			_clearForm('emailfriends_form');
			$('#email_to_friends').dialog('close');	
		}
		
	});
	
	$('a.closeemails, #email_to_friends .close').click(function(){
		_clearForm('emailfriends_form');
		$('#email_to_friends').dialog('close');
	});
   
   /*** Email To Friends ***/
}

function solutions()
{
	$('.brand').click(function(){
		location.href=jsurl+"?t=so&a=list&tab="+$(this).attr('data-id')+"&mid="+$(document).getUrlParam('mid');
	});
	
	 /*** Product Search ***/
   $('#sch_brands').change(function(){
		var bid = $(this).val();
		var q = {'t':'catbybrand','format':'raw','v':bid};
		//Show loading
		$('#sch_btn').hide();
		$('.ajaxLoader').show();
		$.ajax({
			type: "POST",
			url: jsurl,
			dataType: 'json',
			data: q,
			success: function(r){
				var $c = $('#sch_category');
				r = eval(r);
				$c.html("");
				if(r.length>0){
					$c.append($('<option></option>').val('0').html('[-Please Select-]'));
					$.each(r,function(k,v){
						$c.append($('<option></option>').val(v.category_id).html(v.category_name));
					});
				}
				//Show loading
				$('#sch_btn').show();
				$('.ajaxLoader').hide();
			}
		});
		
   });
   $('#sch_btn').click(function(){
		var b = $('#sch_brands option:selected').val();
		var c = $('#sch_category option:selected').val();
		if(b==0 || c==0) {alert('You must select Brand & Category to search our products');return;}
		var u = jsurl+"?t=so&a=pbc&b="+b+"&c="+c+"&mid="+solution_menuID;
		location.href=u;
	});
   /*** Product Search ***/
   /*** Products ***/
   $('#cat-products a.toggle').click(function(){
		$(this).toggleClass('toggleExpand');
		$(this).parent().parent().find('.product-list').slideToggle();
   });
   $('#cat-products .detail a.more').click(function(){
		$(this).parent().parent().find('.detail').hide();
		$(this).parent().parent().find('.long-detail').show();
   });
    $('#cat-products .long-detail a.less').click(function(){
		$(this).parent().parent().find('.long-detail').hide();
		$(this).parent().parent().find('.detail').show();
   });
   /*** Products ***/
}

function tabcontent()
{
	//Tab
		
		if(document.getElementById("choosetab")!=null){
			var tab = $(document).getUrlParam('tab');
			if(tab != null){
				$('#choosetab li a').removeClass('selected');
				$('#choosetab li a[rel="'+tab+'"]').addClass('selected');
			}
			var mybottle=new ddtabcontent("choosetab") //enter ID of Tab Container
			mybottle.setpersist(false) //toogle persistence of the tabs' state
			mybottle.setselectedClassTarget("selected") //"link" or "linkparent"
			mybottle.init();	
		}

}
function _clearForm(id)
{
	$('input, textarea', '#'+id).not('.exception').val('');  	
}



jQuery.fn.extend({
/**
* Returns get parameters.
*
* If the desired param does not exist, null will be returned
*
* To get the document params:
* @example value = $(document).getUrlParam("paramName");
* 
* To get the params of a html-attribut (uses src attribute)
* @example value = $('#imgLink').getUrlParam("paramName");
*/ 
 getUrlParam: function(strParamName){
	  strParamName = escape(unescape(strParamName));
	  
	  var returnVal = new Array();
	  var qString = null;
	  
	  if ($(this).attr("nodeName")=="#document") {
	  	//document-handler
		
		if (window.location.search.search(strParamName) > -1 ){
			
			qString = window.location.search.substr(1,window.location.search.length).split("&");
		}
			
	  } else if ($(this).attr("src")!="undefined") {
	  	
	  	var strHref = $(this).attr("src")
	  	if ( strHref.indexOf("?") > -1 ){
	    	var strQueryString = strHref.substr(strHref.indexOf("?")+1);
	  		qString = strQueryString.split("&");
	  	}
	  } else if ($(this).attr("href")!="undefined") {
	  	
	  	var strHref = $(this).attr("href")
	  	if ( strHref.indexOf("?") > -1 ){
	    	var strQueryString = strHref.substr(strHref.indexOf("?")+1);
	  		qString = strQueryString.split("&");
	  	}
	  } else {
	  	return null;
	  }
	  	
	  
	  if (qString==null) return null;
	  
	  
	  for (var i=0;i<qString.length; i++){
			if (escape(unescape(qString[i].split("=")[0])) == strParamName){
				returnVal.push(qString[i].split("=")[1]);
			}
			
	  }
	  
	  
	  if (returnVal.length==0) return null;
	  else if (returnVal.length==1) return returnVal[0];
	  else return returnVal;
	}
});
